/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package com.ipartek.formacion.gestformwww.modelo;

import com.ipartek.formacion.gestformwww.modelo.beans.Convocatoria;
import com.ipartek.formacion.gestformwww.modelo.beans.FiltroConvocatoria;
import com.ipartek.formacion.gestformwww.modelo.beans.TipoCurso;
import com.ipartek.formacion.gestformwww.modelo.beans.excepciones.GestorFormacionExcepcion;
import com.ipartek.formacion.gestformwww.modelo.clases.DAOFactory;
import com.ipartek.formacion.gestformwww.modelo.interfaces.IConvocatoriaDAO;
import java.util.ArrayList;

/**
 *
 * @author Cris y Santi
 */
public class ModeloConvocatoria {

    private DAOFactory factoria = null;

    public ModeloConvocatoria() {
        factoria = DAOFactory.getDAOFactory(DAOFactory.SQLSERVER);
    }

    public ArrayList<Convocatoria> listarConvocatorias(FiltroConvocatoria filtro) throws GestorFormacionExcepcion {
        return factoria.getIConvocatoriaDAO().listarConvocatorias(filtro);
    }
    public void eliminarConvocatoria(int idConv) throws GestorFormacionExcepcion{
        factoria.getIConvocatoriaDAO().eliminarConvocatoria(idConv);
    }
     public int contarConvocatorias(FiltroConvocatoria filtro) throws GestorFormacionExcepcion {
        return factoria.getIConvocatoriaDAO().contarConvocatorias(filtro);
    }
    public int crearConvocatoria(Convocatoria conv)throws GestorFormacionExcepcion{
       return factoria.getIConvocatoriaDAO().crearConvocatoria(conv);
    }
     public ArrayList<TipoCurso> listarTipoCurso() throws GestorFormacionExcepcion {
        return factoria.getITipoCursoDAO().listarTipoCurso();
    }
    public Convocatoria visualizarConvocatoria(int Id) throws GestorFormacionExcepcion {
        IConvocatoriaDAO dao = factoria.getIConvocatoriaDAO();
        Convocatoria convocatoria = dao.visualizarConvocatoria(Id);
        return convocatoria;
    }
    public ArrayList<String> listarLugares()
    {
       return factoria.getIConvocatoriaDAO().listarLugares();
    }
    public int modificarConvocatoria(Convocatoria conv) throws GestorFormacionExcepcion {
        return factoria.getIConvocatoriaDAO().modificarConvocatoria(conv);
    }
    public ArrayList<Convocatoria> listarConvocatoriasCandidato(Integer idCandidato)throws GestorFormacionExcepcion {
         return factoria.getIConvocatoriaDAO().listarConvocatoriasCandidato(idCandidato);
    }
}
